package com.weixing.mall.provider.model.vo.report.finance;

import com.alibaba.excel.annotation.ExcelProperty;
import com.weixing.mall.provider.api.model.enums.OrderTypeEnum;
import com.weixing.mall.provider.support.excel.EnumConverter.OrderTypeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * @author jzy
 * @date 2020/6/1
 */
@Data
@Accessors(chain = true)
@ApiModel(value="FinanceCustomerPerformanceVo", description="财务部-客服业绩报表")
public class FinanceCustomerPerformanceVo {
    @ApiModelProperty(value = "订单类型（数字） 1正价 2代理商活动 3秒杀活动")
    @ExcelProperty(value = "订单类型",converter = OrderTypeConverter.class)
    private OrderTypeEnum orderType;
    @ApiModelProperty(value = "销售总量")
    @ExcelProperty("销售总量")
    private Integer quantity;
    @ApiModelProperty(value = "销售金额（零售价）")
    @ExcelProperty("销售金额")
    private BigDecimal amount;
    @ApiModelProperty(value = "实收金额（ 零售价*代理商折扣）")
    @ExcelProperty("实收金额")
    private BigDecimal actualPaidAmount;
    @ApiModelProperty(value = "库存金额（成本价）")
    @ExcelProperty("库存金额")
    private BigDecimal amountCost;
    @ApiModelProperty(value = "退货数量")
    @ExcelProperty("退货数量")
    private Integer returnQuantity;
    @ApiModelProperty(value = "退货金额（零售）")
    @ExcelProperty("退货金额")
    private BigDecimal returnAmount;
    @ApiModelProperty(value = "实际退货金额")
    @ExcelProperty("实际退货金额")
    private BigDecimal actualReturnAmount;
    @ApiModelProperty(value = "退货库存金额")
    @ExcelProperty("退货库存金额")
    private BigDecimal returnAmountCost;
    @ApiModelProperty(value = "断货数量（包含断货和取消）")
    @ExcelProperty("断货数量")
    private Integer stockoutQuantity;
    @ApiModelProperty(value = "断货金额(零售)")
    @ExcelProperty("断货金额")
    private BigDecimal stockoutAmount;
    @ApiModelProperty(value = "实际断货总额")
    @ExcelProperty("实际断货总额")
    private BigDecimal actualStockoutAmount;
    @ApiModelProperty(value = "断货库存金额")
    @ExcelProperty("断货库存金额")
    private BigDecimal stockoutAmountCost;
    @ApiModelProperty(value = "有效销售数量")
    @ExcelProperty("有效销售数量")
    private Integer actualQuantity;
    @ApiModelProperty(value = "有效销售金额(零售)")
    @ExcelProperty("有效销售金额")
    private BigDecimal actualAmount;
    @ApiModelProperty(value = "有效库存金额")
    @ExcelProperty("有效库存金额")
    private BigDecimal actualAmountCost;
    @ApiModelProperty(value = "有效实收金额 （实收金额-实际退货金额-实际断货金额） ")
    @ExcelProperty("有效实收金额")
    private BigDecimal actualSaleAmount;
    @ApiModelProperty(value = "返代理款")
    @ExcelProperty("返代理款")
    private BigDecimal rebate;
    @ApiModelProperty(value = "商城收款(在线付款)")
    @ExcelProperty("商城收款")
    private BigDecimal onlinePaid;
    @ApiModelProperty(value = "微信收款(线下付款)(实收-商城收款)")
    @ExcelProperty("微信收款")
    private BigDecimal offlinePaid;
}
